An application is computer software that employs the capabilities of a computer to perform a task for a computer user. Applications include computer executable code that is derived from computer source code files. An application may also include configuration files and support files for customizing the operation of the software. An enterprise may test and use a variety of computer applications, such as purchased or leased applications that have been developed externally, applications developed by the enterprise for internal use, and applications developed by the enterprise for external use.
Although the process of developing, testing, and using applications for simple programs may consist of a single file being compiled, the computer source code for complex software may consist of many files that may be configured in different ways to produce application versions customized specifically for each environment in which the application may execute. The word environment may refer to both a hardware system and a software system that together provide facilities for developing, testing, and/or using applications, such as the configuration of the hardware components, operating system, and enabling programs in which an application executes. The word environment may also specifically refer to the software components that promote developing, testing, and/or using applications. Therefore, development and test environments may be created that simulate the production environments in which an application may execute for developing, testing, and using the application. The process of creating environments from environment components, and both developing and testing applications in the environments may be complicated and time consuming, often requiring weeks of intensive work.